#学员信息在线管理

#定义一个用于存放存款信息的列表变量
acclist=[
    {'name':'zhangsan','deposit':200000},
    {'name':'lisi','deposit':250000},
    {'name':'wangwu','deposit':300000}]
#定义一个姓名表，便于查询是否存在该账户
namelist=[]
for i in range(len(acclist)):
    namelist.append(acclist[i]['name'])
#定义一个账户信息的输出函数
def showacc():
    accname=input('请输入账户姓名：')
    for i in range(len(acclist)):
        if acclist[i]['name']==accname:
            print('| {:<10}| {:<10}'.format('name','deposit'))
            print('| {:<10}| {:<10}'.format(accname,acclist[i]['deposit']))
            return
        else:
            continue
    print('不存在指定账户！')
#定义一个存款函数。return具有判断是否存在该账户的能力。因此不需要用if
def addepo():
    accname=input('请输入账户姓名：')
    addepos=input('请输入存款数额：')
    for i in range(len(acclist)):
        if acclist[i]['name']==accname:
            #直接用eval，默认用户输入的存款数额是有效的。如果要考虑异常情况，采用try except，这里为了简洁略去了。
            acclist[i]['deposit']+=eval(addepos)
            return
    print('已创建新账号')
    newacc={}
    newacc['name']=accname
    newacc['deposit']=addepos
    acclist.append(newacc)
#定义一个取款函数。return具有判断是否存在该账户的能力。因此不需要用if。这里假设存款余额可以为负，相当于欠款。
def getdepo():
    accname=input('请输入账户姓名：')
    getdepos=input('请输入取款数额：')
    for i in range(len(acclist)):
        if acclist[i]['name']==accname:
            acclist[i]['deposit']-=eval(getdepos)
            return
    print('不存在该账户！输入错误')

#登录操作
enterin=input('是否确认登录？YyNo：')
if enterin in 'Yy':
    print('已登录')
    while True:    
        #输出初始界面
        print("="*13+"存款账户管理"+"="*13)
        print("{0:1}.{1:13}.{2:1}.{3:13}".format(1,'查询',2,'存款'))
        print("{0:1}.{1:13}.{2:1}.{3:13}".format(3,'取款',4,'退出管理系统'))
        stuc=input('请输入指令序号：')
        #根据键盘值，判断并执行对应的操作
        if eval(stuc) == 1:
            print("="*13+"查询存款余额"+"="*13)
            showacc()
            input('请按回车键继续：')
        elif eval(stuc) == 2:
            print("="*13+"存款"+"="*13)
            addepo()
            input('请按回车键继续：')
        elif eval(stuc) == 3:
            print("="*13+"取款"+"="*13)
            getdepo()
            input('请按回车键继续：')
        #退出操作
        elif eval(stuc) == 4:
            print("="*16+"再见"+"="*16)
            print('已退出')
            break
        else:
            print("="*13+"输入格式有误"+"="*13)
